/*test 
 */
struct list{
	int data;
	struct list * next;
};
/*@*/
array [10,struct list *] init(array [10,struct list * ]a)
{
	int i;
	i=0;
	while(i<10)
	{
          //          	print(i);
		a[i]=alloc(struct list);
		a[i]->data=i;
                //     	print(a[i]->data);
		a[i]->next=NULL;
		i=i+1;
	}
	return a;
}
/*@*/
/*@*/
void printarray(array[10,struct list *]a )
{
	int i;
	i=0;
	while(i<10)
	{
		print(a[i]->data);
		i=i+1;
	}
	return;
}
/*@*/
/*@*/
int main()
{
  	array [10,struct list *] a;
       	a=init(a);
       	printarray(a);
	return 0;
}
/*@*/
